package com.guigu.health.dao;

import com.guigu.health.pojo.*;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface CheckGroupMapper {
    long countByExample(CheckGroupExample example);

    int deleteByExample(CheckGroupExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(CheckGroup record);

    int insertSelective(CheckGroup record);

    List<CheckGroup> selectByExample(CheckGroupExample example);

    CheckGroup selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") CheckGroup record, @Param("example") CheckGroupExample example);

    int updateByExample(@Param("record") CheckGroup record, @Param("example") CheckGroupExample example);

    int updateByPrimaryKeySelective(CheckGroup record);

    int updateByPrimaryKey(CheckGroup record);

    /**
     * 根据名字进行模糊查询
     *
     * @param name
     * @return
     */
    List<CheckGroupCheckItem> queryAllCheckGrouop(@Param("name2") String name);

    /**
     * 根据id查询检查项
     *
     * @param checkGroupID
     * @return
     */
    List<CheckItem> queryCheckItem(@Param("checkGroupID") Integer checkGroupID);

    /**
     * 根据id查询出检查组中的检查项ID
     *
     * @param checkGroupIds
     * @return
     */
    List<Integer> getCheckItemIds(@Param("checkGroupIds") int checkGroupIds);

    /**
     * 删除检查组和检查项直接的关系
     *
     * @param checkGroupIds
     */
    void deleteCheckGroupKey(@Param("checkGroupIds") int checkGroupIds);

    /**
     * 根据检查组是否跟套餐链表了
     *
     * @param checkGroupIds
     * @return
     */
    int getCount(@Param("checkGroupIds") int checkGroupIds);


    /**
     * 添加检查组和检查项之间的关系
     *
     * @param checkGroupId
     * @param checkItemId
     */
    void addCheckGroupKey(@Param("checkGroupId") int checkGroupId, @Param("checkItemId") int checkItemId);

    int count(@Param("code") String code);

}